package com.catazy.wanandroid.common_base.net.interceptor

import android.content.Context
import android.util.Log
import com.alibaba.android.arouter.facade.Postcard
import com.alibaba.android.arouter.facade.annotation.Interceptor
import com.alibaba.android.arouter.facade.callback.InterceptorCallback
import com.alibaba.android.arouter.facade.template.IInterceptor
import com.catazy.wanandroid.common_base.constants.RouterPath
import com.catazy.wanandroid.common_base.util.AppUtil

/**
 * 作者: Tao
 * 日期: 2024/5/23
 * 时间: 15:25
 * 描述: 登录拦截器
 */
@Interceptor(priority = 1, name = "登录拦截器")
class LoginInterceptor : IInterceptor {
    override fun init(context: Context?) {
    }

    override fun process(postcard: Postcard?, callback: InterceptorCallback?) {
        if (AppUtil.isLogin) {
            // 已登录，不做任何处理
            callback?.onContinue(postcard)
        } else {
            // 未登录，判断哪些页面需要登录(在应用中，有些页面需要登录，有些不需要登录)
            if (postcard?.path == RouterPath.Compose.PAGE_COMPOSE) {
                Log.i("登录拦截器", "process: 准备跳转收藏页面，需要登录")
                callback?.onInterrupt(null)
            } else {
                // 未登录，跳转其他页面，不做任何处理
                callback?.onContinue(postcard)
            }
        }
    }
}